package com.leon.rose.modules.upms.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.leon.rose.common.utils.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.leon.rose.modules.upms.entity.SysUserRole;
import com.leon.rose.modules.upms.service.ISysUserRoleService;

/**
 * <p>
 * 用户角色 前端控制器
 * </p>
 *
 * @author Leon
 * @since 2019-05-05
 */
@Api(description = "用户角色")
@RestController
@RequestMapping("/sysUserRole")
public class SysUserRoleController {

    @Autowired private ISysUserRoleService sysUserRoleService;

    /**
     * 功能描述:
     * 〈新建用户角色〉
     * @param  sysUserRole 用户角色对象
     * @return : com.github.pig.common.util.R<java.lang.Boolean>
     * @author : Leon
     * @date : 2019-05-05
     */
    @ApiOperation("新建用户角色")
    @PostMapping
    public R<Boolean> addSysUserRole(@RequestBody SysUserRole sysUserRole){
        return new R<>(sysUserRoleService.save(sysUserRole));
    }

    /**
     * 功能描述:
     * 〈根据主键ids删除用户角色列表〉
     * @param idList 用户角色id数组
     * @return : com.github.pig.common.util.R<java.lang.Boolean>
     * @author : Leon
     * @date : 2019-05-05
     */
    @ApiOperation("根据主键ids删除用户角色列表")
    @DeleteMapping
    public R<Boolean> delSysUserRoleByIds(@RequestBody List<Integer> idList){
        return new R<>(sysUserRoleService.removeByIds(idList));
    }

    /**
     * 功能描述:
     * 〈按条件分页查询用户角色〉
     * @param page 分页条件，可以传入下划式排序字段和排序方式
     * @param sysUserRole 条件对象
     * @return : com.github.pig.common.util.R<com.baomidou.mybatisplus.plugins.Page<com.leon.rose.modules.upms.entity.SysUserRole>>
     * @author : Leon
     * @date : 2019-05-05
     */
    @ApiOperation("按条件分页查询用户角色")
    @GetMapping
    public R<IPage<SysUserRole>>getSysUserRolePage(Page page,SysUserRole sysUserRole){
        QueryWrapper qw=new QueryWrapper();
        //ew.gt(StringUtils.isNotBlank(sysUserRole.getStartTime()),"create_time",sysUserRole.getStartTime());
        //ew.lt(StringUtils.isNotBlank(sysUserRole.getEndTime()),"create_time",sysUserRole.getEndTime());
        //ew.like(StringUtils.isNotBlank(sysUserRole.getName()),"name",sysUserRole.getName());
        //ew.eq(sysUserRole.getId()!=null,"id",sysUserRole.getId());
        return new R<>(sysUserRoleService.page(page,qw));
    }

    /**
     * 功能描述:
     * 〈查询用户角色详情〉
     * @param id 用户角色主键
     * @return : com.github.pig.common.util.R<com.leon.rose.modules.upms.entity.SysUserRole>
     * @author : Leon
     * @date : 2019-05-05
     */
    @ApiOperation("查询用户角色详情")
    @GetMapping("/{id}")
    public R<SysUserRole> getSysUserRole(@PathVariable("id") Integer id){
        return new R<>(sysUserRoleService.getById(id));
    }

    /**
     * 功能描述:
     * 〈修改用户角色信息〉
     * @param sysUserRole 要修改的用户角色信息
     * @return : com.github.pig.common.util.R<java.lang.Boolean>
     * @author : Leon
     * @date : 2019-05-05
     */
    @ApiOperation("修改用户角色信息")
    @PutMapping
    public R<Boolean> updateSysUserRoleList(@RequestBody SysUserRole sysUserRole){
        return new R<>(sysUserRoleService.updateById(sysUserRole));
    }

}
